package com.shimao.celnet.payment.model;

import com.shimao.celnet.payment.util.FinalUtil;
import org.hibernate.validator.constraints.NotEmpty;

import javax.persistence.Column;
import javax.persistence.Table;
import java.io.Serializable;

@Table(name = "s_code_name")
public class SCodeName  extends BaseModel implements Serializable {

    /**
     * 参数类型选项：pay_order_type：支付订单类型；pay_type：支付方式；cart_type:证件类型；
     */
    @NotEmpty(message = "参数类型不能为空")
    private String type;

    /**
     * 参数编码
     */
    @NotEmpty(message = "参数编码不能为空")
    private String code;

    /**
     * 参数值
     */
    @NotEmpty(message = "参数值不能为空")
    private String name;

    /**
     * 编码_名称
     */
    @Column(name = "code_name")
    private String codeName;

    /**
     * 参数说明
     */
    private String remark;


    /**
     * 获取参数类型选项：pay_order_type：支付订单类型；pay_type：支付方式；cart_type:证件类型；
     *
     * @return type - 参数类型选项：pay_order_type：支付订单类型；pay_type：支付方式；cart_type:证件类型；
     */
    public String getType() {
        return type;
    }

    /**
     * 设置参数类型选项：pay_order_type：支付订单类型；pay_type：支付方式；cart_type:证件类型；
     *
     * @param type 参数类型选项：pay_order_type：支付订单类型；pay_type：支付方式；cart_type:证件类型；
     */
    public void setType(String type) {
        this.type = type;
    }

    /**
     * 获取参数代码
     *
     * @return code - 参数代码
     */
    public String getCode() {
        return code;
    }

    /**
     * 设置参数代码
     *
     * @param code 参数代码
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * 获取参数值
     *
     * @return name - 参数值
     */
    public String getName() {
        return name;
    }

    /**
     * 设置参数值
     *
     * @param name 参数值
     */
    public void setName(String name) {
        this.name = name;
    }

    public String getCodeName() {
        return this.code+ FinalUtil.PERMISSION_MENU_MID+this.name;
    }

    public void setCodeName(String codeName) {
        this.codeName = codeName;
    }

    /**
     * 获取参数说明
     *
     * @return remark - 参数说明
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置参数说明
     *
     * @param remark 参数说明
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public String toString() {
        return "SCodeName{" +
                "type='" + type + '\'' +
                ", code='" + code + '\'' +
                ", name='" + name + '\'' +
                ", codeName='" + codeName + '\'' +
                ", remark='" + remark + '\'' +
                '}';
    }
}